* Stata/BE 18.5
* Date: March 15, 2025

clear

cd "/Users/~/Desktop/Replication Code"

*===============================================================================
************************* Table 1 **************************************
*===============================================================================

use pseudo_country_data, clear
table t_nt, stat(mean EPU iofor iodom lag1_ret lag1_vol lag1_turnover lag1_fx lag1_gdp_grth lag1_trd_gdp lag1_FD lag1_asdi08est6 lag1_taxold)

*===============================================================================
************************* Table 3 **************************************
*===============================================================================

/*Panel A*/

use pseudo_firm_data.dta, clear
tabstat io_dom log_EPU lag1_ret_q lag1_vix_q lag1_turnover_q lag1_log_at lag1_roe lag1_liability lag1_cash lag1_mtb, stat(n mean sd q) col(stat)
keep if t_nt!="USA"
tabstat io_dom log_EPU, stat(n mean sd q) col(stat)

/*Panel C*/

use pseudo_firmpair_data.dta, clear
tabstat io io_sec_ins_for log_EPU_a log_EPU_t, stat(n mean sd q) col(stat)
keep if a_nt!="USA" & t_nt!="USA"
tabstat io, stat(n mean sd q) col(stat)

*===============================================================================
************************* Table 4 **************************************
*===============================================================================

/*Panel A*/

use pseudo_country_data, clear
global B iodom iodom_INDEP iodom_GREY1
foreach b of global B{
	local control lag1_ret lag1_vol lag1_turnover lag1_fx lag1_gdp_grth lag1_trd_gdp lag1_FD lag1_asdi08est6 lag1_taxold
    reghdfe `b' log_EPU `control' lag1_`b', a(date t_nt) vce(cluster t_nt)
	//outreg2 using Table_4_A_`b'.doc, stats(coef tstat)  tdec(2) e(N) adjr2 dec(6)
	reghdfe `b' log_EPU `control' lag1_`b' if t_nt!="USA", a(date t_nt) vce(cluster t_nt)
	//outreg2 using Table_4_B_`b'_withoutUS.doc, stats(coef tstat)  tdec(2) e(N) adjr2 dec(6)
}	

/*Panel B*/
use pseudo_firm_data.dta, clear
global B io_dom io_dom_INDEP io_dom_GREY1
foreach b of global B{
	local control lag1_ret lag1_vol lag1_turnover lag1_fx_1 lag1_gdp_grth lag1_trd_gdp lag1_FD lag1_asdi08est6 lag1_taxold lag1_ret_q lag1_vix_q lag1_turnover_q lag1_log_at lag1_roe lag1_liability lag1_cash lag1_mtb
	reghdfe `b' log_EPU `control' lag1_`b', a(date company_id) vce(cluster company_id)
	//outreg2 using Table_4_B_`b'.doc, stats(coef tstat)  tdec(2) e(N) adjr2 dec(3)
	reghdfe `b' log_EPU `control' lag1_`b' if t_nt!="USA", a(date company_id) vce(cluster company_id)
	//outreg2 using Table_4_B_`b'_withoutUS.doc, stats(coef tstat)  tdec(2) e(N) adjr2 dec(3)
}

*===============================================================================
************************* Table 5 **************************************
*===============================================================================

/*Panel A*/

use pseudo_countrypair_data, clear
reghdfe io_t_nt log_EPU_a log_EPU_t lag1_dif_ret lag1_dif_vix lag1_dif_turnover lag1_dif_fx lag1_dif_gdp_grth lag1_dif_trd_gdp lag1_dif_FD lag1_dif_adri08est6 lag1_dif_taxold lag1_io_t_nt, a(date cro_country) vce(cluster cro_country)
//outreg2 using Table_5_A.doc,stats(coef tstat) tdec(2) adjr2 dec(6)

reghdfe io_t_nt log_EPU_a log_EPU_t lag1_dif_ret lag1_dif_vix lag1_dif_turnover lag1_dif_fx lag1_dif_gdp_grth lag1_dif_trd_gdp lag1_dif_FD lag1_dif_adri08est6 lag1_dif_taxold lag1_io_t_nt if a_nt!="USA" & t_nt!="USA", a(date cro_country) vce(cluster cro_country)
//outreg2 using Table_5_A.doc,stats(coef tstat) tdec(2) adjr2 dec(6)

/*Panel B*/

use pseudo_firmpair_data, clear
reghdfe io log_EPU_a log_EPU_t lag1_io, a(date pair) vce(cluster pair) 
//outreg2 using Table_5_B.doc,stats(coef tstat) tdec(2) dec(6) //Model 1//

reghdfe io log_EPU_a log_EPU_t lag1_dif_ret lag1_dif_vix lag1_dif_turnover lag1_dif_ill_usd lag1_dif_gdp_grth lag1_dif_trd_gdp lag1_dif_FD lag1_dif_adri08est6 lag1_dif_taxold lag1_io, a(date pair) vce(cluster pair)
//outreg2 using Table_5_B.doc,stats(coef tstat) tdec(2) dec(6) //Model 2//

reghdfe io log_EPU_a log_EPU_t lag1_dif_ret lag1_dif_vix lag1_dif_turnover lag1_dif_ill_usd lag1_dif_gdp_grth lag1_dif_trd_gdp lag1_dif_FD lag1_dif_adri08est6 lag1_dif_taxold lag1_log_size_ins lag1_io_for_ins lag1_io_sec_ins_for lag1_io, a(date pair) vce(cluster pair)
//outreg2 using Table_5_B.doc,stats(coef tstat) tdec(2) dec(6) //Model 3//

reghdfe io log_EPU_a log_EPU_t lag1_dif_ret lag1_dif_vix lag1_dif_turnover lag1_dif_ill_usd lag1_dif_gdp_grth lag1_dif_trd_gdp lag1_dif_FD lag1_dif_adri08est6 lag1_dif_taxold lag1_ret_q lag1_vix_q lag1_turnover_q lag1_log_at lag1_roe lag1_liability lag1_cash lag1_mtb lag1_io, a(date pair) vce(cluster pair)
//outreg2 using Table_5_B.doc,stats(coef tstat) tdec(2) dec(6) //Model 4//

reghdfe io log_EPU_a log_EPU_t lag1_dif_ret lag1_dif_vix lag1_dif_turnover lag1_dif_ill_usd lag1_dif_gdp_grth lag1_dif_trd_gdp lag1_dif_FD lag1_dif_adri08est6 lag1_dif_taxold lag1_log_size_ins lag1_io_for_ins lag1_io_sec_ins_for lag1_ret_q lag1_vix_q lag1_turnover_q lag1_log_at lag1_roe lag1_liability lag1_cash lag1_mtb lag1_io, a(date pair) vce(cluster pair)
//outreg2 using Table_5_B.doc,stats(coef tstat) tdec(2) dec(6) //Model 5//

reghdfe io log_EPU_a log_EPU_t lag1_dif_ret lag1_dif_vix lag1_dif_turnover lag1_dif_ill_usd lag1_dif_gdp_grth lag1_dif_trd_gdp lag1_dif_FD lag1_dif_adri08est6 lag1_dif_taxold lag1_log_size_ins lag1_io_for_ins lag1_io_sec_ins_for lag1_ret_q lag1_vix_q lag1_turnover_q lag1_log_at lag1_roe lag1_liability lag1_cash lag1_mtb lag1_io if a_nt!="USA" & t_nt!="USA", a(date pair) vce(cluster pair)
//outreg2 using Table_5_B.doc,stats(coef tstat) tdec(2) dec(6) //Model 6//

*===============================================================================
************************* Table 6 **************************************
*===============================================================================

/*Panel A*/

use pseudo_firm_data.dta, clear
ivreghdfe io_dom (log_EPU=vae) lag1_ret lag1_vol lag1_turnover lag1_fx lag1_gdp_grth lag1_trd_gdp lag1_FD lag1_asdi08est6 lag1_taxold lag1_ret_q lag1_vix_q lag1_turnover_q lag1_log_at lag1_roe lag1_liability lag1_cash lag1_mtb lag1_io_dom, first absorb(date company_id) cluster (company_id) 

/*Panel B*/

use pseudo_firmpair_data, clear
ivreghdfe io (log_EPU_a log_EPU_t=vae_a vae_t) lag1_dif_ret lag1_dif_vix lag1_dif_turnover lag1_dif_ill_usd lag1_dif_gdp_grth lag1_dif_trd_gdp lag1_dif_FD lag1_dif_adri08est6 lag1_dif_taxold lag1_log_size_ins lag1_io_for_ins lag1_io_sec_ins_for lag1_ret_q lag1_vix_q lag1_turnover_q lag1_log_at lag1_roe lag1_liability lag1_cash lag1_mtb lag1_io if a_nt!="USA" & t_nt!="USA", first absorb(date pair) cluster (pair) 

*===============================================================================
************************* Table 7 **************************************
*===============================================================================

/*Panel A*/

use pseudo_firm_data.dta, clear
encode company_id, generate(company_id_n)
replace year=floor(date/100)
replace quarter=mod(date,100) 
sum year
gen serial=(year-2001)*4+quarter
tsset company_id_n serial
xi i.serial

xtabond2 io_dom l.io_dom log_EPU lag1_ret lag1_vol lag1_turnover lag1_fx lag1_gdp_grth lag1_trd_gdp lag1_FD lag1_asdi08est6 lag1_taxold lag1_ret_q lag1_vix_q lag1_turnover_q lag1_log_at lag1_roe lag1_liability lag1_cash lag1_mtb, gmm(l.io_dom, lag(6 1) collapse) iv(log_EPU lag1_ret lag1_vol lag1_turnover lag1_fx lag1_gdp_grth lag1_trd_gdp lag1_FD lag1_asdi08est6 lag1_taxold lag1_ret_q lag1_vix_q lag1_turnover_q lag1_log_at lag1_roe lag1_liability lag1_cash lag1_mtb) twostep robust

xtabond2 io_dom_INDEP l.io_dom_INDEP log_EPU lag1_ret lag1_vol lag1_turnover lag1_fx lag1_gdp_grth lag1_trd_gdp lag1_FD lag1_asdi08est6 lag1_taxold lag1_ret_q lag1_vix_q lag1_turnover_q lag1_log_at lag1_roe lag1_liability lag1_cash lag1_mtb, gmm(l.io_dom_INDEP, lag(6 1) collapse) iv(log_EPU lag1_ret lag1_vol lag1_turnover lag1_fx lag1_gdp_grth lag1_trd_gdp lag1_FD lag1_asdi08est6 lag1_taxold lag1_ret_q lag1_vix_q lag1_turnover_q lag1_log_at lag1_roe lag1_liability lag1_cash lag1_mtb) twostep robust 

xtabond2 io_dom_GREY1 l.io_dom_GREY1 log_EPU lag1_ret lag1_vol lag1_turnover lag1_fx lag1_gdp_grth lag1_trd_gdp lag1_FD lag1_asdi08est6 lag1_taxold lag1_ret_q lag1_vix_q lag1_turnover_q lag1_log_at lag1_roe lag1_liability lag1_cash lag1_mtb, gmm(l.io_dom_GREY1, lag(6 1) collapse) iv(log_EPU lag1_ret lag1_vol lag1_turnover lag1_fx lag1_gdp_grth lag1_trd_gdp lag1_FD lag1_asdi08est6 lag1_taxold lag1_ret_q lag1_vix_q lag1_turnover_q lag1_log_at lag1_roe lag1_liability lag1_cash lag1_mtb) twostep robust 

/*Panel B*/

use pseudo_firmpair_data, clear
egen long pair_n = group(pair)
replace year=floor(date/100)
replace quarter=mod(date,100) 
sum year
gen serial=(year-2000)*4+quarter
tsset pair_n serial
xi i.serial

xtabond2 io l.io log_EPU_a log_EPU_t lag1_dif_ret lag1_dif_vix lag1_dif_turnover lag1_dif_ill_usd lag1_dif_gdp_grth lag1_dif_trd_gdp lag1_dif_FD lag1_dif_adri08est6 lag1_dif_taxold lag1_log_size_ins lag1_io_for_ins lag1_io_sec_ins_for lag1_ret_q lag1_vix_q lag1_turnover_q lag1_log_at lag1_roe lag1_liability lag1_cash lag1_mtb, gmm(l.io, lag(2 4) collapse) iv(log_EPU_a log_EPU_t lag1_dif_ret lag1_dif_vix lag1_dif_turnover lag1_dif_ill_usd lag1_dif_gdp_grth lag1_dif_trd_gdp lag1_dif_FD lag1_dif_adri08est6 lag1_dif_taxold lag1_log_size_ins lag1_io_for_ins lag1_io_sec_ins_for lag1_ret_q lag1_vix_q lag1_turnover_q lag1_log_at lag1_roe lag1_liability lag1_cash lag1_mtb) twostep robust 

/*Panel C*/

use pseudo_firm_data.dta, clear
global B io_dom io_dom_INDEP io_dom_GREY1 
foreach b of global B{
	local control lag1_ret lag1_vol lag1_turnover lag1_fx_1 lag1_gdp_grth lag1_trd_gdp lag1_FD lag1_asdi08est6 lag1_taxold lag1_ret_q lag1_vix_q lag1_turnover_q lag1_log_at lag1_roe lag1_liability lag1_cash lag1_mtb
	reghdfe `b' residusa `control' lag1_`b', a(date company_id) vce(cluster company_id)
	reghdfe `b' residusa `control' lag1_`b' if t_nt!="USA", a(date company_id) vce(cluster company_id)
}

/*Panel D*/

use pseudo_firm_data.dta, clear

ivreghdfe io_dom (residusa=vae) lag1_ret lag1_vol lag1_turnover lag1_fx lag1_gdp_grth lag1_trd_gdp lag1_FD lag1_asdi08est6 lag1_taxold lag1_ret_q lag1_vix_q lag1_turnover_q lag1_log_at lag1_roe lag1_liability lag1_cash lag1_mtb lag1_io_dom, first absorb(date company_id) cluster (company_id) //resiua worked for the 2sls!!!!, Good 05072024//
drop if t_nt=="USA"

ivreghdfe io_dom (residusa=vae) lag1_ret lag1_vol lag1_turnover lag1_fx lag1_gdp_grth lag1_trd_gdp lag1_FD lag1_asdi08est6 lag1_taxold lag1_ret_q lag1_vix_q lag1_turnover_q lag1_log_at lag1_roe lag1_liability lag1_cash lag1_mtb lag1_io_dom, first absorb(date company_id) cluster (company_id)

*===============================================================================
************************* Table 8 **************************************
*===============================================================================

/*Panel A*/

use pseudo_firmpair_data, clear

reghdfe io log_EPU_a log_EPU_t lag1_dif_ret lag1_dif_vix lag1_dif_turnover lag1_dif_ill_usd lag1_dif_gdp_grth lag1_dif_trd_gdp lag1_dif_FD lag1_dif_adri08est6 lag1_dif_taxold lag1_log_size_ins lag1_io_for_ins lag1_io_sec_ins_for lag1_ret_q lag1_vix_q lag1_turnover_q lag1_log_at lag1_roe lag1_liability lag1_cash lag1_mtb lag1_io if dta_lang==1, a(date pair) vce(cluster pair)

reghdfe io log_EPU_a log_EPU_t lag1_dif_ret lag1_dif_vix lag1_dif_turnover lag1_dif_ill_usd lag1_dif_gdp_grth lag1_dif_trd_gdp lag1_dif_FD lag1_dif_adri08est6 lag1_dif_taxold lag1_log_size_ins lag1_io_for_ins lag1_io_sec_ins_for lag1_ret_q lag1_vix_q lag1_turnover_q lag1_log_at lag1_roe lag1_liability lag1_cash lag1_mtb lag1_io if dta_lang==0, a(date pair) vce(cluster pair)

local m "reghdfe io log_EPU_a log_EPU_t lag1_dif_ret lag1_dif_vix lag1_dif_turnover lag1_dif_ill_usd lag1_dif_gdp_grth lag1_dif_trd_gdp lag1_dif_FD lag1_dif_adri08est6 lag1_dif_taxold lag1_log_size_ins lag1_io_for_ins lag1_io_sec_ins_for lag1_ret_q lag1_vix_q lag1_turnover_q lag1_log_at lag1_roe lag1_liability lag1_cash lag1_mtb, a(date pair) vce(cluster pair)"

bdiff, group(dta_lang) model(`m') reps(100) bs first detail

/*Panel B*/

use pseudo_firmpair_data, clear

reghdfe io log_EPU_a log_EPU_t lag1_dif_ret lag1_dif_vix lag1_dif_turnover lag1_dif_ill_usd lag1_dif_gdp_grth lag1_dif_trd_gdp lag1_dif_FD lag1_dif_adri08est6 lag1_dif_taxold lag1_log_size_ins lag1_io_for_ins lag1_io_sec_ins_for lag1_ret_q lag1_vix_q lag1_turnover_q lag1_log_at lag1_roe lag1_liability lag1_cash lag1_mtb lag1_io if dta_comlaw==1, a(date pair) vce(cluster pair)

reghdfe io log_EPU_a log_EPU_t lag1_dif_ret lag1_dif_vix lag1_dif_turnover lag1_dif_ill_usd lag1_dif_gdp_grth lag1_dif_trd_gdp lag1_dif_FD lag1_dif_adri08est6 lag1_dif_taxold lag1_log_size_ins lag1_io_for_ins lag1_io_sec_ins_for lag1_ret_q lag1_vix_q lag1_turnover_q lag1_log_at lag1_roe lag1_liability lag1_cash lag1_mtb lag1_io if dta_comlaw==0, a(date pair) vce(cluster pair)

local m "reghdfe io log_EPU_a log_EPU_t lag1_dif_ret lag1_dif_vix lag1_dif_turnover lag1_dif_ill_usd lag1_dif_gdp_grth lag1_dif_trd_gdp lag1_dif_FD lag1_dif_adri08est6 lag1_dif_taxold lag1_log_size_ins lag1_io_for_ins lag1_io_sec_ins_for lag1_ret_q lag1_vix_q lag1_turnover_q lag1_log_at lag1_roe lag1_liability lag1_cash lag1_mtb, a(date pair) vce(cluster pair)"

bdiff, group(dta_comlaw) model(`m') reps(100) bs first detail

*===============================================================================
************************* Table 9 **************************************
*===============================================================================

/*Panel A*/

use pseudo_firmpair_data, clear

reghdfe io log_EPU_a a_cash log_EPU_t t_cash lag1_cash lag1_mtb lag1_io, a(date pair) vce(cluster pair)

reghdfe io log_EPU_a a_cash log_EPU_t t_cash lag1_dif_ret lag1_dif_vix lag1_dif_turnover lag1_dif_ill_usd lag1_dif_gdp_grth lag1_dif_trd_gdp lag1_dif_FD lag1_dif_adri08est6 lag1_dif_taxold lag1_log_size_ins lag1_io_for_ins lag1_io_sec_ins_for lag1_ret_q lag1_vix_q lag1_turnover_q lag1_log_at lag1_roe lag1_liability lag1_cash lag1_mtb lag1_io, a(date pair) vce(cluster pair)

/*Panel B*/

use pseudo_firmpair_data, clear

reghdfe io log_EPU_a a_mtb_d log_EPU_t t_mtb_d lag1_mtb_d lag1_io, a(date pair) vce(cluster pair)

reghdfe io log_EPU_a a_mtb_d log_EPU_t t_mtb_d lag1_dif_ret lag1_dif_vix lag1_dif_turnover lag1_dif_ill_usd lag1_dif_gdp_grth lag1_dif_trd_gdp lag1_dif_FD lag1_dif_adri08est6 lag1_dif_taxold lag1_log_size_ins lag1_io_for_ins lag1_io_sec_ins_for lag1_ret_q lag1_vix_q lag1_turnover_q lag1_log_at lag1_roe lag1_liability lag1_cash lag1_mtb_d lag1_io, a(date pair) vce(cluster pair)
